
/**
 * 使用说明
 * 在package.json中的scripts中添加
 * "publish": "node ./publish.script.js"
 * npm run publish
 * 
 * targetDir: 目标目录路径 可以更换为自己的目录 
 * 
 * 最后两行注释掉的代码是自动发布到npm 测试的时候不用打开
 * npm version patch: 会自动更新版本号 小版本更新
 * npm publish: 发布到npm
 */
const fs = require('fs');
const path = require('path');

// 定义源目录和目标目录
const sourceDir = path.join(__dirname, 'dist');
// ../zhlx/vform/dist  更换为自己的目录
const targetDir = path.join(__dirname, '../zhlx-vform-dist', 'dist');
// 如果目录有文件清空目标目录
if (fs.existsSync(targetDir)) {
    fs.rmdirSync(targetDir, { recursive: true });
}

// 如果目标目录不存在，则创建
if (!fs.existsSync(targetDir)) {
    fs.mkdirSync(targetDir, { recursive: true });
}

// 要复制的文件列表
const filesToCopy = ['designer.es.js', 'designer.style.css','designer.umd.js'];

// 复制文件
filesToCopy.forEach(file => {
    const sourceFile = path.join(sourceDir, file);
    const targetFile = path.join(targetDir, file);

    fs.copyFile(sourceFile, targetFile, (err) => {
        if (err) {
            console.error(`无法复制 ${file}:`, err);
        } else {
            console.log(`${file} 已成功复制到目标目录`);
        }
    });
});

/**
 * 打开下面的注释，可以在目标目录中运行npm命令
 * 在目标目录中运行npm version patch 会自动修改版本号 最小更新
 * 在目标目录中运行npm publish 会自动发布到npm
 */

// const exec = require('child_process').exec;
// exec('npm version patch', { cwd: targetDir }, (err, stdout) => {
//     if (err) {
//         console.error('无法运行 npm version patch:', err);
//     } else {
//         console.log(stdout);
//     }
// });

// exec('npm publish', { cwd: targetDir }, (err, stdout) => {
//     if (err) {
//         console.error('无法运行 npm publish:', err);
//     } else {
//         console.log(stdout);
//     }
// });